package com.wish.g04.file.config;

import com.qiniu.common.QiniuException;
import com.qiniu.http.Response;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.UploadManager;
import com.qiniu.util.Auth;
import com.wish.g04.common.core.utils.StringUtils;
import org.springframework.beans.factory.annotation.Value;

import java.io.IOException;

/**
 * 这个类的作者是123
 * 开发的日期是：2022/06/05
 **/
public class Textfile {
    /**
     * 七牛云秘钥
     */
//    @Value("${file.accessKey}")
    private String accessKey="RAO3sdWe2dZ6aNbdSEGHsAzPpDoAKj2m5vkxzYvS";

    /**
     * 七牛云秘钥
     */
//    @Value("${file.secretKey}")
    private String secretKey="PDsr2UUa7iEjbv1EuxFacA2EC_OxqowvuGPIBVc4";

    /**
     * 存储桶名称
     */
//    @Value("${file.bucket}")
    private String bucket="first-package";

    // 普通上传
    public String upload(String filePath, String fileName) throws IOException {
        // 创建上传对象
        UploadManager uploadManager = new UploadManager(new Configuration());
        try {
            // 调用put方法上传
            Auth auth = Auth.create(accessKey, secretKey);
            String token = auth.uploadToken(bucket);
            if (StringUtils.isEmpty(token)) {
                System.out.println("未获取到token，请重试！");
                return null;
            }
            Response res = uploadManager.put(filePath+fileName, fileName, token);
            // 打印返回的信息
            System.out.println(res.bodyString());
//            if (res.isOK()) {
//                Ret ret = res.jsonToObject(Ret.class);
//                //如果不需要对图片进行样式处理，则使用以下方式即可
//                return DOMAIN + ret.key;
////                return DOMAIN + ret.key + "?" + style;
//            }
        } catch (QiniuException e) {
            Response r = e.response;
            // 请求失败时打印的异常的信息
            System.out.println(r.toString());
            try {
                // 响应的文本信息
                System.out.println(r.bodyString());
            } catch (QiniuException e1) {
                // ignore
            }
        }
        return null;
    }
}
